The number of devices that can be categorized as personal computing and communication assistants (PCCAs) increases daily. The PCCA class of devices comprises laptop and palmtop computers, personal digital assistants (PDAs), pocket organizers, cellular phones, pagers, etc. The general objective of all these devices is to allow their owner to organize himself or herself and contact his or her business in an orderly manner. This is accomplished by allowing a person to be accessible (almost) anywhere (using pagers and cellular phones), and by using personal information management (PIM) utilities like calendars, things-to-do, telephone books (using PDAs and organizers).
Many PCCAs are capable of being connected to a desktop computer for backing-up or updating data stored in them. Some PCCAs can also connect to data networks, like the Internet, via a modem and enable networked data services like e-mail and web-surfing. In general, PCCAs are capable of connecting to and interacting with other computer devices either directly or indirectly via intermediate communication devices, e.g., modems. In these cases, the PCCAs communicate to these other devices via point-to-point dedicated communication channels.
Dedicating a communications channel for the exclusive use of only two devices is not always desirable since it usually results in poor utilization of communication resources. For example, when a modem is used to connect a PCCA with a remote application server, only a single PCCA can use the modem to connect to the server. It is known that data transmissions are bursty in nature, in that data sources are mostly inactive, with occasional periods of data activity. During periods that the PCCA idles the modem could have been used by another PCCA to connect to the same or other application servers. Dedicating though the channel between a single PCCA and the modem does not allow sharing of the communication resources, e.g., the modem, among various communicating devices (the PCCAs and the application servers). Using separate modems and telephone lines to connect multiple PCCAs to application servers is not a very attractive solution as it prohibitively increases the cost of communication. In this case, sharing the communication resources is highly desirable because it reduces the cost of interconnecting several devices simultaneously.
Sharing communication resources is a common practice in local area networks (LANs), where a number of computer nodes connect with each other via a shared communication medium, e.g., twisted pair, cable, and air. Devices, also referred to as stations or nodes, attached to the LAN coordinate their transmissions using a commonly agreed medium access (MAC) protocol. The most popular MAC protocols are the IEEE 802.3 protocol, commonly referred to as Ethernet, and the IEEE 802.5 protocol, commonly referred to as Token Ring. Both of these protocols use a cable, such as a twisted pair or coaxial cable, as the transmission medium. A more recent protocol for sharing an over-the-air radio frequency (RF) band in LAN environments is the IEEE 802.11 protocol.
Network interface cards (NICs), or adapter cards, are added internally to a device in an expansion slot within the device and are used for interfacing the device to the transmission medium of the LAN. NICs are also attached externally via a device""s PCMCIA slots (if available), usually referred to as PC card. PCMCIA cards provide functionalities similar to adapter cards that are usually added internally to a computer, e.g., memory cards, hard-disk drivers, modems, NICs, etc., but due to convenience and space are simply added externally to the computer. PC cards are not used for connecting PCCAs directly to each other.
However, not all PCCAs can be opened up to add a NIC and not all of them are equipped with PCMCIA, or other similar, ports to which NICs can be attached. Thus, some devices cannot be part of a LAN and share in the cost benefits that a shared medium LAN solution provides. Therefore, there is a need in enabling LAN-oriented communications for the plethora of PCCAs that are otherwise only capable of communicating with other devices one-at-a-time using dedicated communication resources.
FIG. 1 shows a typical scenario where a mobile host device 101, e.g., a personal digital assistant (PDA), connects to a desktop host computer 102. One reason for connecting the two devices is to back up data in the mobile host 101 to the desktop host 102. Another reason is to update data in the mobile host 101 with data in the desktop host 102. This process is usually achieved by using two complementary pieces of software, an interactive application client 103 residing on the mobile host 101 and an interactive application server 104 residing in the desktop host 102. The two complementary pieces of software check the latest data versions stored on the two devices and perform any necessary backups and updates.
The interactive application software modules use the services of a communication protocol stack 106 and 107 for transporting the data between the two hosts. A communication protocol stack is a collection of rules that governs how data is formatted and organized for transport between devices on a computer communication network. In the typical scenario shown in FIG. 1, the two communicating devices are connected using their serial ports 108 and 109. A typical communication protocol used is the RS-232 protocol. The RS-232 protocol requires, among other things, that data that is to be transported between two devices are sent serially one byte at a time and that each byte is prepending by 1 start-bit and 1, 1.5, or 2 stop bits. The number of stop bits is configurable and both communicating devices need to agree on the same number of such bits. The communication between the two devices is done using an RS-232 cable 110 wired in a null-modem configuration. Since, the two devices are directly connected to each other, no data addressing for routing to the correct destination is needed. Hence, the communication protocol stack in this case is quite shallow and no additional information is appended on the data to be transmitted except from the start and stop bits required by the RS-232 protocol.
Since, the only elements that are physically connected are the serial ports on the two devices, only the link 110 is a real one. Any other communication between the complementary software modules, like 105 and 111, is virtual in that it is performed using the services of a lower communication layer.
FIG. 2 shows another typical scenario, which expands the connectivity scenario in FIG. 1 over the public switched telephone network (PSTN) 204. In this case, the two host devices are first connected to a data communications equipment (DCE) 202 and 203, commonly referred to as a modem, via a regular RS-232 cable 201. When one modem transmits to another one, it modulates the information signal received from the serial ports 108 and 109 of the device it is directly attached too into an audible signal appropriate for transmission over the public switched telephone network (PSTN) 204. The receiving modem demodulates the waveform into an information signal appropriate for receipt by the receiving device. In the sequel, as well as in FIGS. 1 and 2, the terms mobile and desktop host could be interpreted rather generically as two computing end-devices able to exchange data over a proper communications means, e.g., point-to-point links, networks, etc.
FIG. 3 shows yet another realization of the connection scenario in FIG. 2. The mobile host 101 is connected again to PSTN 204 as in FIG. 2. In this case the communication protocol stack 302 in the mobile host includes not only the serial protocol 309, but also an industry standard transport control protocol/internet protocol (TCP/IP) 303 and point-to-point protocol (PPP) 306, as well. These protocols enable an interactive application on the mobile host 101, like a web-browser 312, to use the services of a corporate intranet data network 311 to connect to a corporate application host 301, e.g., a web-server 313. The application host 301 connects to the corporate intranet via a NIC 314, e.g., an ethernet or a token-ring card. A gateway device 307 sitting at the boundary of the PSTN and the intranet is responsible to converting the information signals received over the PSTN to packetized information for transmission over the intranet and vice-versa.
The communication protocol stack 302 comprises a number of protocols that enable the web-browser application 312 in the mobile host 101 to communicate with the web-server application 313 in the application host 301. The serial protocol 309 enables the communication 310 between the mobile host and the DCE over the physical RS-232 connection 201. The PPP enables the communication 308 between the mobile host 101 and the intranet gateway 307 over the PSTN 204. Finally the TCP/IP protocol enables the communication 305 between the mobile host 101 and the application server 301 over the corporate intranet 311.
All the connectivity alternatives shown in FIGS. 1 through 3 are manifestations of the great interest in providing interactive services to mobile hosts. These services are delivered to these hosts via their most popular interface, their I/O ports. These I/O ports include the serial ports, by far the most available, and in more rare occasions parallel ports, and USB ports. The latter two ports are available mostly on PCs. All these alternatives though use a dedicated intermediate resource, e.g., a dedicated modem, to access the required services. Also, during a connection establishment, communication resources are dedicated and fixed either in time, or frequency, or a spread-spectrum channel, e.g., a specific frequency hoping sequence for frequency hoping spread spectrum (FHSS) communication, etc. Dedicating communication resources for each connection guarantees a bounded maximum transmission speed even when the network is lightly loaded. No on-the-fly bandwidth allocation is possible, a common practice with LANs. In LANs, no communication resources are a priori reserved. The transmission bandwidth is shared only among the active stations that have something to transmit, rather than the total number of stations that are present in the network.
Thus, one aspect of the present invention provides shared communication medium capability to the plethora of computer devices, like the PCCAs, that normally are able to communicate with other devices via dedicated point-to-point links, e.g., via the practically universal RS-232 ports.
An additional aspect of the present invention allows the sharing of the communication medium in a dynamic fashion depending on the instantaneous traffic demands by the various communicating devices.
Yet another aspect of the present invention allows the emulation of point-to-point links over the shared communications medium in such a way that applications running on a PCCA use the shared medium transparently. Therefore, applications designed to operate over a point-to-point connection need no further modifications to operate over the shared medium.